package com.cuixichang.minimalism.transfer.factory;

import com.cuixichang.minimalism.transfer.dto.IRoleMenuDTO;
import com.cuixichang.minimalism.transfer.page.IRoleMenuPageRequest;
import com.cuixichang.minimalism.transfer.page.IRoleMenuRequest;
import com.cuixichang.minimalism.transfer.vo.IRoleMenuVO;
import com.cuixichang.minimalism.transfer.po.IRoleMenu;
import org.mapstruct.Builder;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

/**
 * 菜单角色绑定关系表对象适配器
 *
 * @author cuixichang
 * @date 2024-12-18
 */
@Mapper(builder = @Builder(disableBuilder = true))
public interface IRoleMenuAssembler {

    IRoleMenuAssembler INSTANCT = Mappers.getMapper(IRoleMenuAssembler.class);

    IRoleMenuDTO convertDto(IRoleMenuRequest request);

    IRoleMenuDTO convertDto(IRoleMenuPageRequest request);

    IRoleMenu convertPo(IRoleMenuDTO dto);

    IRoleMenuDTO convertDto(IRoleMenu po);

    IRoleMenuVO convertVo(IRoleMenuDTO dto);
}